#!/bin/bash

# C语言光标状态监控程序编译脚本
echo "编译C语言光标状态监控程序..."
echo "注意：此程序需要在Linux系统的X11环境下运行"

# 检查是否在Linux环境
if [ "$(uname -s)" != "Linux" ]; then
    echo "警告：此脚本需要在Linux环境下运行，当前环境可能不支持X11"
fi

# 检查编译工具
echo "检查编译工具..."
if ! command -v gcc &> /dev/null; then
    echo "错误：未找到gcc编译器，请先安装开发工具包"
    echo "在Debian/Ubuntu上可以使用：sudo apt install build-essential"
    echo "在RHEL/CentOS上可以使用：sudo yum groupinstall 'Development Tools'"
    exit 1
fi

# 检查X11开发库
echo "检查X11开发库..."
if ! pkg-config --cflags x11 xfixes &> /dev/null; then
    echo "错误：未找到X11开发库，请安装必要的依赖"
    echo "在Debian/Ubuntu上可以使用：sudo apt install libx11-dev libxfixes-dev"
    echo "在RHEL/CentOS上可以使用：sudo yum install libX11-devel libXfixes-devel"
    exit 1
fi

# 获取编译参数
CFLAGS=$(pkg-config --cflags x11 xfixes)
LIBS=$(pkg-config --libs x11 xfixes)

# 编译程序
echo "正在编译..."
gcc cursor_status.c -o cursor_status $CFLAGS $LIBS

if [ $? -eq 0 ]; then
    echo "编译成功！"
    echo ""
    echo "运行程序..."
    echo "按Ctrl+C退出监控"
    echo ""
    
    # 添加执行权限并运行
    chmod +x cursor_status
    ./cursor_status
else
    echo "编译失败，请检查错误信息"
    exit 1
fi